package com.base.cn.platform.os.service.manage.statistics.goods;

import com.base.cn.platform.os.service.FeignAuthConfig;
import com.base.cn.platform.os.service.manage.BaseService;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;

/**
 * 商品统计接口
 *
 * @author s.li
 * @date 2019/04/23
 */
@FeignClient(name = BaseService.appName,configuration = FeignAuthConfig.class)
public interface GoodsStatisticsService extends BaseService {

    /**
     * 商品概况统计内容
     * @return Map<String,Object>
     */
    @RequestMapping(contextPath + "/statistics/queryGoodsProfileCountData")
    Map<String,Object> queryGoodsProfileCountData();

    /**
     * 访客榜 TOP5 之 商品
     * @return Map<String,Object>
     */
    @RequestMapping(contextPath + "/statistics/queryUVTopFiveGoodsList")
    Map<String,Object> queryUVTopFiveGoodsList(@RequestBody Map<String, Object> dateQueryCondition);

    /**
     * 查询支付榜 TOP5 之 付费商品
     * @param dateQueryCondition
     * @return Map<String,Object>
     */
    @RequestMapping(contextPath + "/statistics/queryGoodsPayTopFiveList")
    Map<String,Object> queryGoodsPayTopFiveList(@RequestBody Map<String, Object> dateQueryCondition);

    /**
     * 查询考试榜 TOP5 之 试卷
     * @param dateQueryCondition
     * @return List<ExamUseFiveCount>
     */
    @RequestMapping(contextPath + "/statistics/queryExamUseFiveList")
    Map<String,Object> queryExamUseFiveList(@RequestBody Map<String, Object> dateQueryCondition);

    /**
     * 学习榜 TOP7之 专业/科目
     * @param dateQueryCondition 时间条件对象
     * @return Map<String,Object>
     */
    @RequestMapping(contextPath + "/statistics/querySubjectStudyRankingList")
    Map<String,Object> querySubjectStudyRankingList(@RequestBody Map<String, Object> dateQueryCondition);
}
